package com.zsrt.java.day20161226.zzm.demo03;

import java.util.Scanner;

public class LingXing {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(true){
			System.out.println("请输入打印上半部分菱形的行数:");
			int row = sc.nextInt();
            text01(row);
            System.out.println("继续请按c,退出请按y");
            String temp = sc.next();
            if(temp.equals("y")){
            	System.out.println("程序已经退出....");
            	break;
            }
		}
		sc.close();
		
	}
	/**
	 * 这是一个打印动态菱形的方法
	 *      *
	 *     ***
	 *    *****
	 *   *******   新的思路: 一次性先打印出菱形的上半部分.
	 *    *****    假设菱形上半部分有row=4行.如下图
	 *     ***         *            
	 *      *         ***       行数    星星数  空格数
	 *               *****       1    1     3
	 *              *******      2    3     2
	 *                           3    5     1
	 *                           4    7     0
	 *                           
	 *                           星星数=2*row-1   空格数=4-行数
	 *     
	 *     
	 *                         行数    星星数   空格数 
	 *               *****      3    5     1
	 *                ***       2    3     2 
	 *                 *        1    1     3
	 */
	
	public static void text01(int row){
		
		for(int i=1;i<=row;i++){
			for(int k=1;k<=row-i;k++){
				System.out.print(" ");
			}
			for(int l=1;l<=2*i-1;l++){
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int i=row-1;i>=1;i--){
			for(int k=1;k<=row-i;k++){
				System.out.print(" ");
				}
			for(int l=2*i-1;l>=1;l--){
				System.out.print("*");
			}
			System.out.println();
		}
		
	}
}
